- 12. Web Service da NF-e [02-06-23]
12.9. Consulta GTIN [31-05-22] - 12.8.3. Consulta NF-e por Chave [12-08-22]
« Anterior - 13. Funcionalidades
Próximo »
12.9. Consulta GTIN [31-05-22]
Consulta pública cadastro GTIN
Assinatura
int ConsGTIN(string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out string msgResultado, string GTIN, out string dhResp, out string tpGTIN, out string xProd, out string NCM, out string CEST1, out string CEST2, out string CEST3, string proxy, string usuario, string senha);
Descrição:
Permite consultar as informações: tpGTIN, xProd, NCM e CEST disponibilizadas pela empresa "dona da marca" do GTIN consultado.
Consulta GTIN
Escopo - a consulta retorna as informações somente dos GTIN concedidos pela GS1 Brasil, identificados pelo "Prefixo GS1" = 789 ou 790 e que o "dona da marca" autoriza, assim nem todos os GTIN retornam informações do produto identificado pelo GTIN.
Parâmetros:
nome | tipo | fluxo | descrição |
---|---|---|---|
NomeCertificado | string | entrada | informar o certificado digital que será utilizado para assinatura: 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS". 2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha". 3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha". (novas opções) |
versao | string | entrada | informar a versão da mensagem do WS - 1.00. |
msgDados | string | saída | retorna a mensagem XML gerada e enviada para o WS |
msgRetWS | string | saída | retorna a mensagem XML de resposta do WS |
msgResultado | string | saída | retorna a literal do resultado da chamada do WS |
GTIN | string | entrada | informar o GTIN pesquisado |
dhResp | string | saída | Retorna a data e hora da consulta |
tpGTIN | string | saída | Retorna o tipo GTIN, valoes possíveis: 8, 12, 13 ou 14. |
xProd | string | saida | Retorna a Descrição do Produto, cadastrada pelo "Dono da Marca" na GS1 (1-500 caracteres) |
NCM | string | saída | Retorna o código NCM, cadastrada pelo "Dono da Marca" na GS1 |
CEST1 | string | saída | Retorna o primeiro código CEST, cadastrada pelo "Dono da Marca" na GS1. Normalmente um Produto (definido pelo código do GTIN) está vinculado a somente 1 CEST, mas existem situações pouco frequentes onde um Produto pode estar associado a mais de 1 CEST, conforme a operação. |
CEST2 | string | saída | Retorna o segundo código CEST, cadastrada pelo "Dono da Marca" na GS1 |
CEST3 | string | saída | Retorna o terceiro código CEST, cadastrada pelo "Dono da Marca" na GS1 |
proxy | string | entrada | informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' |
usuario | string | entrada | informar o usuário para autenticação no proxy, se necessário |
senha | string | entrada | informar a senha de autenticação no proxy, se necessário |
Preenchimento do nomeCertificado
informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, formas possíveis:
1. uso de certificado digital existente no repositório MY do CSP do usuário corrente (currentuser)
É a forma de mais comum de uso, cabe ressaltar que é a única forma de uso de certificado digital do tipo A3 que a DLL oferece.
O usuário deve passar como parâmetro o campo assunto do certificado no parâmetro NomeCertificado para que a DLL localize um certificado digital com mesmo assunto no repositório MY do currentuser do equipamento.
Esta forma de uso requer a prévia instalação do certificado digital na conta do usuário do Windows (logon) que irá utilizar o certificado digital.2. uso de certificado digital em arquivo no formato pfx
Permite o de uso de certificado digital em arquivo formato pfx.
O caminho da localização (path) do arquivo pfx deve ser passado para a DLL no formato: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "ARQUIVO|c:\certificado.pfx|senha".
Esta opção só funciona com certificado digital do tipo A1.3. uso de certificado digital em string base64
Permite uso o arquivo do certificado digital em formato pfx convertido em uma string base64. O certificado digital em string base64 deve ser passado para a DLL no formato: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
Esta opção só funciona com certificado digital do tipo A1. É uma opção de uso que oferece maior versatilidade, pois permite o armazenamento do certificado digital em banco de dados na aplicação. É a forma mais indicada para uso em ASP.NET.
Retorno:
A Consulta Cadastro devolve um código numérico com os seguintes significados:
código | Mensagem | origem | regra |
---|---|---|---|
9490 | Consulta realizada com sucesso | WS | - |
9491 | Rejeição: GTIN com dígito verificador inválido | WS | - |
9492 | Rejeição: GTIN não possui prefixo 789 ou 790 (Brasil) | WS | - |
9493 | Rejeição: CNPJ/CPF do Certificado de Transmissão não é emitente de NF-e ou NFC-e | WS | - |
9494 | Rejeição: GTIN inexistente no Cadastro Centralizado de GTIN (CCG) | WS | - |
9495 | Rejeição: GTIN existe no CCG com situação inválida. Solicitar ao Dono da Marca que entre em contato com a GS1 | WS | - |
9496 | Rejeição: GTIN existe no CCG, mas dono da marca não autorizou a publicação das informações. Entrar em contato com o Dono da Marca | WS | - |
9497 | Rejeição: GTIN existe no CCG com NCM não informado | WS | - |
9498 | Rejeição: GTIN existe no CCG com NCM inválido | WS | - |
5001 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) | DLL | - |
5002 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) | DLL | - |
5003 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) | DLL | - |
5004 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido) | DLL | - |
5005 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) | DLL | - |
5006 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) | DLL | - |
5007 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida) | DLL | - |
5008 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas) | DLL | - |
5009 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado) | DLL | - |
5010 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) | DLL | - |
5011 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível) | DLL | - |
5012 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportada | DLL | - |
5013 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) | DLL | - |
5014 | Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida) | DLL | - |
5015 | Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] - [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5016 | Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5017 | Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5101 | Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5102 | Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5103 | Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5104 | Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5105 | Erro: O WS não devolveu nenhum resultado | DLL | - |
5201 | Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 - produção e 2 - homologação | DLL | - |
5202 | Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválida | DLL | - |
5203 | Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível. | DLL | - |
5204 | Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO] | DLL | - |
5205 | Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5206 | Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS] | DLL | - |
5403 | Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] | DLL | - |
5404 | Erro: Nenhum certificado digital selecionado | DLL | |
5405 | Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] | DLL | - |
5406 | Erro: Falha no tratamento do parâmetro nome: [nome informado] | DLL | - |
5407 | Erro: Quantidade de parâmetos inválido: [nome informado] | DLL | - |
5408 | Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] | DLL | - |
6101 | Erro: O parâmetro versao não foi informado | DLL | - |
6102 | Erro: O conteúdo do parâmetro sigla da UF: [valor informado] é inválido | DLL | - |
6103 | Erro: O conteúdo do parâmetro versao informado é inválido: [valor informado] | DLL | - |
6110 | Erro: O nome do titular do certificado deve ser informado | DLL | - |
6123 | Erro: O parâmetro tipoAmbiente deve ser informado | DLL | - |
6124 | Erro: O parâmetro tipoAmbiente [valor informado] deve ser 1 ou 2 | DLL | - |
6142 | Erro: O parâmetro siglaUF deve ser informado | DLL | - |
6701 | Erro: O parâmetro tpArgumento informado é inválido [valor informado] | DLL | - |
6702 | Erro: O parâmetro argumento não foi informado | DLL | - |
108 | Serviço Paralisado Momentaneamente (curto prazo) | WS | - |
109 | Serviço Paralisado sem Previsão | WS | - |
215 | Rejeição: Falha no schema XML | WS | - |
280 | Rejeição: Certificado Transmissor inválido | WS | - |
281 | Rejeição: Certificado Transmissor Data Validade | WS | - |
282 | Rejeição: Certificado Transmissor sem CNPJ | WS | - |
283 | Rejeição: Certificado Transmissor - erro Cadeia de Certificação | WS | - |
284 | Rejeição: Certificado Transmissor revogado | WS | - |
285 | Rejeição: Certificado Transmissor difere ICP-Brasil | WS | - |
286 | Rejeição: Certificado Transmissor erro no acesso a LCR | WS | - |
289 | Rejeição: Código da UF informada diverge da UF solicitada | WS | - |
402 | Rejeição: XML da área de dados com codificação diferente de UTF-8 | WS | - |
404 | Rejeição: Uso de prefixo de namespace não permitido | WS | - |
516 | Rejeição: Falha no schema XML - inexiste a tag raiz esperada para a mensagem | WS | - |
517 | Rejeição: Falha no schema XML - inexiste atributo versao na tag raiz da mensagem | WS | - |
587 | Rejeição: Usar somente o namespace padrão da NF-e | WS | - |
588 | Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem | WS | - |
999 | Rejeição: Erro não catalogado (mensagem) | WS | - |
Histórico de atualização:
- 2022-05-31 - Versão beta preliminar.
Mensagens XML:
<?xml version="1.0" encoding="UTF-8" ?> <consGTIN xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00"> <GTIN>7891962036984</GTIN> </consGTIN>
Resposta do WS = 9490 - Consulta realizada com sucesso
Produto com CEST
<?xml version="1.0" encoding="UTF-8"?> <retConsGTIN versao="1.00 " xmlns="http://www.portalfiscal.inf.br/nfe"> <verAplic>SVRS20220520163447</verAplic> <cStat>9490</cStat> <xMotivo>Consulta realizada com sucesso</xMotivo> <dhResp>2022-05-31T20:29:39-03:00</dhResp> <GTIN>7891962036984</GTIN> <tpGTIN>13</tpGTIN> <xProd>Wafer Chocolate 140g</xProd> <NCM>19053200</NCM> <CEST>1705700</CEST> </retConsGTIN>
Produto sem CEST
<?xml version="1.0" encoding="UTF-8"?> <retConsGTIN versao="1.00 " xmlns="http://www.portalfiscal.inf.br/nfe"> <verAplic>SVRS20220520163447</verAplic> <cStat>9490</cStat> <xMotivo>Consulta realizada com sucesso</xMotivo> <dhResp>2022-05-31T20:36:41-03:00</dhResp> <GTIN>7895000318452</GTIN> <tpGTIN>13</tpGTIN> <xProd>Creme de Leite UHT Cremoso Qualit Caixa 200g</xProd> <NCM>4015021</NCM> </retConsGTIN>
Resposta do WS = 9494 - Rejeicao: GTIN inexistente no Cadastro Centralizado de GTIN (CCG)
<?xml version="1.0" encoding="UTF-8" ?> <retConsGTIN versao="1.00 " xmlns="http://www.portalfiscal.inf.br/nfe"> <verAplic>SVRS20220520163447</verAplic> <cStat>9494</cStat> <xMotivo>Rejeicao: GTIN inexistente no Cadastro Centralizado de GTIN (CCG)</xMotivo> <dhResp>2022-05-31T20:33:39-03:00</dhResp> <GTIN>7891000289709</GTIN> </retConsGTIN>
Resposta do WS = 9496 - Rejeicao: GTIN existe no CCG, mas dono da marca nao autorizou a publicacao das informacoes
<?xml version="1.0" encoding="UTF-8" ?> <retConsGTIN versao="1.00 " xmlns="http://www.portalfiscal.inf.br/nfe"> <verAplic>SVRS20220520163447</verAplic> <cStat>9496</cStat> <xMotivo>Rejeicao: GTIN existe no CCG, mas dono da marca nao autorizou a publicacao das informacoes. Entrar em contato com o dono da marca</xMotivo> <dhResp>2022-05-31T20:41:46-03:00</dhResp> <GTIN>7896714203645</GTIN> </retConsGTIN>
Atenção
Os XML acima foram identados para uma melhor visualização, a mensagem original não tem formatação.
Exemplos de uso:
Visual Basic 6.0
' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL ' Dim msgDados As String ' retorna a mensagem XML gerada e enviada para o WS Dim msgRetWS As String ' retorna a mensagem XML de resposta do WS Dim msgResultado As String ' retorna a literal do resultado da chamada do WS Dim nomeCertificado As String ' informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS" ' ' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes ' ' EXEMPLO PARA USO DE ARQUIVO PFX ' 'nomeCertificado = "ARQUIVO|c:\certificado.pfx|associacao" ' ' onde: ' ARQUIVO --> indica opção de uso de arquivo PFX ' c:\certificado.pfx --> nome e caminho do arquivo PFX ' associacao --> senha do arquivo PFX ' ' ' EXEMPLO PARA USO DE ARQUIVO PFX EM STRING BASE64 ' 'nomeCertificado = "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha" ' ' onde: ' CERTIFICADO --> indica opção de uso de arquivo PFX em base64 ' MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy --> arquivo PFX em base64 ' senha --> senha do arquivo PFX ' Dim cResultado As Long ' código de retorno da DLL ' ' As variáveis do proxy devem ser informadas se necessário ' ' proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443 ' Dim proxy As String ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' Dim usuario As String ' usuário para autenticação no proxy, se necessário Dim senha As String ' senha de autenticação no proxy, se necessário ' ' ' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicialiazadas ' ' proxy = "" ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' usuario = "" ' informar o usuário para autenticação no proxy, se necessário senha = "" ' informar a senha de autenticação no proxy, se necessário msgDados = "" ' retorna a mensagem XML gerada e enviada para o WS msgRetWS = "" ' retorna a mensagem XML de resposta do WS msgResultado = "" ' retorna a literal do resultado da chamada do WS ' ' declaração dos parâmetros de pesquisa ' Dim GTIN As String ' GTIN a ser consultado Dim versao As String ' versão da mensagem do WS - 1.00 ' ' declaração dos parâmetros de retorno da consulta ' Dim dhResp As String ' data e hora da consulta Dim tpGTIN As String ' tipo GTIN: 8, 12, 13 ou 14 Dim xProd As String ' descrição do produto Dim NCM As String ' Código NCM do produto Dim CEST1 As String ' primeiro CEST, somente para produtos sujeitos à Substituição Tributária Dim CEST2 As String ' segundo CEST caso exista Dim CEST3 As String ' terceiro CEST caso exista ' ' prepara variáveis ' nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS" versao = "1.00" ' informar a versão da mensagem do WS - 1.00 ' ' GTIN = "7891962036984" ' ' ' instancia a DLL - late binding, não é necessário fazer o reference da DLL ' Dim objNFeUtil As Object ' Set objNFeUtil = CreateObject("NFe_Util_2G.util") ' ' Screen.MousePointer = vbHourglass ' ampulheta ' cResultado = objNFeUtil.ConsGTIN(nomeCertificado, versao, msgDados, msgRetWS, msgResultado, GTIN, dhResp, tpGTIN, xProd, NCM, CEST1, CEST2, CEST3, proxy, usuario, senha) ' ' Screen.MousePointer = vbDefault ' normal ' ' mostra mensagem XML enviada ' MsgBox msgDados, vbInformation, "Mensagem XML da Consulta GTIN" ' ' mostra mensagem XML da mensagem de retorno do WS ' MsgBox msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da Consulta GTIN"
- 12.9. Consulta GTIN [31-05-22]
12. Web Service da NF-e [02-06-23] - « Anterior
12.8.3. Consulta NF-e por Chave [12-08-22] - Próximo »
13. Funcionalidades